package com.czwj.dao;

import java.util.List;
import java.util.Map;

import com.czwj.entities.ProjectItem;

public interface ProjectItemMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(ProjectItem record);

    int insertSelective(ProjectItem record);

    ProjectItem selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(ProjectItem record);

    int updateByPrimaryKey(ProjectItem record);
    
    List<ProjectItem> searchforlevel1(Map<String, Object> Params);

	int countforlevel1(Map<String, Object> params);

	List<ProjectItem> searchforlevel2(Map<String, Object> map);

	int countforlevel2(Map<String, Object> map);

	List<ProjectItem> searchforlevel3(Map<String, Object> map);

	int countforlevel3(Map<String, Object> map);

	ProjectItem findByProjectNo(String projectno);
	
	int deletelogically(int id);

	List<ProjectItem> searchforlevel0(Map<String, Object> map);

	int countforlevel0(Map<String, Object> map);

	
	List<ProjectItem> searchtypeforlevel0(Map<String, Object> map);

	List<ProjectItem> searchtypeforlevel1(Map<String, Object> map);
	
	List<ProjectItem> searchtypeforlevel2(Map<String, Object> map);
	
	List<ProjectItem> searchtypeforlevel3(Map<String, Object> map);

	List<ProjectItem> projectitemswithoutfinishapply1(Integer userid);
	
	List<ProjectItem> projectitemswithoutfinishapply2(Integer userid);
	
	List<ProjectItem> projectitemswithoutfinishapply3(Integer userid);
	
	List<ProjectItem> projectitemswithoutfinishapply4(Integer userid);

	/**
	* @Title: selectByName
	* @Description: TODO
	* @param name
	* @return 参数 
	* @return ProjectItem 返回类型
	* @throws
	*/
	ProjectItem selectByName(String name);

	/**
	* @Title: searchByCreater
	* @Description: TODO
	* @param id
	* @return 参数 
	* @return List<ProjectItem> 返回类型
	* @throws
	*/
	List<ProjectItem> searchByCreater(Integer id);

	/**
	* @Title: searchByCompany
	* @Description: TODO
	* @param companyid
	* @return 参数 
	* @return List<ProjectItem> 返回类型
	* @throws
	*/
	List<ProjectItem> searchByCompany(Integer companyid);

	/**
	* @Title: updatestatus
	* @Description: TODO
	* @param map
	* @return 参数 
	* @return int 返回类型
	* @throws
	*/
	int updatestatus(Map<String,Object> map);

	/**
	* @Title: search
	* @Description: TODO
	* @return 参数 
	* @return List<ProjectItem> 返回类型
	* @throws
	*/
	List<ProjectItem> search();
}